home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)tn.d64 / iron horse.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  18KB  |  437 lines

  1. 0 PRINT"[147][158]":POKE53281,0:POKE53280,0:F=INT(RND(-TI)*2)+1
  2. 10 DIM PR$(14),P1$(112,2),P$(112,2),D(14,2),R(16,2)
  3. 20 GOSUB4050:PRINT"[147]"
  4. 30 C$(1)="[153] [146]":C$(2)="  ":C$(3)="[153]   ":C$(4)="[153]    ":C$(6)="[153]      "
  5. 40 ID=INT(RND(1)*2)+1:PRINT"ENTER TWO LETTERS OR INITALS TO STAND
  6. 50 [133]"FOR FIRST PLAYER OR TEAM: ";ID$(1):F[178][195](ID$(1)):[139]F[179][177]2[167]40
  7. 60 [153]"ENTER TWO LETTERS OR INITALS TO STAND
  8. 70 INPUT"FOR SECOND PLAYER OR TEAM: ";ID$(2):F=LEN(ID$(2)):IFF<>2THEN60
  9. 80 M(1)=150:M(2)=150:PR$(12)="PORTLAND":PR$(2)="BUTTE":PR$(6)="FARGO
  10. 90 PR$(7)[178]"GREEN BAY":PR$(4)[178]"DENVER":PR$(11)[178]"OMAHA":PR$(13)[178]"SAN FRAN.
  11. 100 PR$(3)="CHICAGO":PR$(1)="ALBQUE.":PR$(14)="TULSA":PR$(9)="L.A.
  12. 110 PR$(5)[178]"EL PASO":PR$(8)[178]"HOUSTON":PR$(10)[178]"MEMPHIS":[151]53281,1:[141]1000
  13. 120 [141]1240:[153]"":[153][163]13)"SETTING UP GAME
  14. 130 PRINTTAB(12)"ONE MINUTE PLEASE":F1=1:F2=8:FORF3=1TO14:RESTORE
  15. 140 FORF=F1TOF2:P1$(F,0)=PR$(F3):READP1$(F,1):P1$(F,2)=STR$(F3):NEXTF
  16. 150 F1=F1+8:F2=F2+8:NEXTF3:FORF=1TO112
  17. 160 GOSUB1240:S=INT(RND(1)*112)+1:PRINT"";TAB(16)"SHUFFLING
  18. 170 [139]P$(S,0)[178]""[167]190
  19. 180 [141]1240:[153]"";[163]16)"         ":[137]160
  20. 190 P$(S,0)[178]P1$(F,0):P$(S,1)[178]P1$(F,1):P$(S,2)[178]P1$(F,2):[141]1240
  21. 200 [153]"";[163]16)"         ":[130]F:S[178]0
  22. 210 [141]3000:ID[178][182](ID[171]3):F[178][181]([187](1)[172]20)[170]1
  23. 220 [145]F[137]2600,2650,2700,2750,2800,2850,2900,3100,3100,3100
  24. 230 F[178]F[171]10:[145]F[137]3100,3100,2600,2400,2400,2400,2400,2400,2150,2150
  25. 300 [139]R(1,0)[178]9[175]R(2,0)[178]9[175]R(3,0)[178]9[175]R(8,0)[178]9[167][141]350
  26. 310 [139]R(1,0)[178]9[175]R(2,0)[178]9[175]R(3,0)[178]9[175]R(9,0)[178]9[167][141]380
  27. 320 [139]R(4,0)[178]9[175]R(5,0)[178]9[175]R(6,0)[178]9[175]R(8,0)[178]9[167][141]410
  28. 330 [139]R(4,0)[178]9[175]R(5,0)[178]9[175]R(6,0)[178]9[175]R(9,0)[178]9[167][141]440
  29. 340 [137]210
  30. 350 [139]R(14,0)[178]9[175]R(15,0)[178]9[175]R(16,0)[178]9[167][141]470
  31. 360 [139]R(13,0)[178]9[175]R(10,0)[178]9[175]R(11,0)[178]9[175]R(12,0)[178]9[167][141]470
  32. 370 [142]
  33. 380 [139]R(10,0)[178]9[175]R(11,0)[178]9[175]R(12,0)[178]9[167][141]470
  34. 390 [139]R(13,0)[178]9[175]R(14,0)[178]9[175]R(15,0)[178]9[175]R(16,0)[178]9[167][141]470
  35. 400 [142]
  36. 410 [139]R(14,0)[178]9[175]R(15,0)[178]9[175]R(16,0)[178]9[167][141]470
  37. 420 [139]R(13,0)[178]9[175]R(10,0)[178]9[175]R(11,0)[178]9[175]R(12,0)[178]9[167][141]470
  38. 430 [142]
  39. 440 [139]R(10,0)[178]9[175]R(11,0)[178]9[175]R(12,0)[178]9[167][141]470
  40. 450 [139]R(13,0)[178]9[175]R(14,0)[178]9[175]R(15,0)[178]9[175]R(16,0)[178]9[167][141]470
  41. 460 [142]
  42. 470 [141]1230:[141]3000:[141]1240:[153]"";:[139]M(1)[177]M(2)[167]ID[178]1:[137]1980
  43. 480 ID[178]2:[137]1980
  44. 900 C[178]12:[141]1250:[141]3000:[141]1240:[153]"PRINT#TRACK SECTION DONE
  45. 905 PRINTTAB(10)"SPECULATION PAYOFF.":GOSUB1750
  46. 910 M(3)=D(R(R,1),1)^2*D(R(R,1),1):M(4)=D(R(R,2),1)^2*D(R(R,2),1)
  47. 915 IFM(3)>=125THENM(3)=125
  48. 920 IFM(4)>=125THENM(4)=125
  49. 925 M(1)=M(1)+INT(M(3)+M(4))
  50. 930 M(3)=D(R(R,1),2)^2*D(R(R,1),2):M(4)=D(R(R,2),2)^2*D(R(R,2),2)
  51. 935 IFM(3)>=125THENM(3)=125
  52. 940 IFM(4)>=125THENM(4)=125
  53. 945 M(2)=M(2)+INT(M(3)+M(4)):GOTO300
  54. 950 IFS>=112THENGOSUB1250:GOSUB1240:PRINT"";:JF=1:GOSUB2860:RETURN
  55. 960 S=S+1:GOSUB1240:PRINT"FIRST TRACK SECTION":PRINTTAB(10);
  56. 970 PRINT"BUILT HERE. BONUS: 1":PRINTTAB(10)"DEED ";P$(S,0);" LAND
  57. 980 [141]1750:A[178][197](P$(S,2)):D(A,ID)[178]D(A,ID)[170]1:A[178]0:[142]
  58. 1000 [129]F[178]1024[164]2023:[151]F,160:F3[178]F[170]54272:[151]F3,0:[130]F:[129]F[178]1[164]8:[135]F1:[130]
  59. 1010 C[178]14:[129]F7[178]1[164]16:[135]F1,F5,F6:[141]1030:[130]F7
  60. 1020 C[178]2:[129]F7[178]1[164]2:[135]F1,F5,F6:[141]1030:[130]F7:[137]1050
  61. 1030 [129]F4[178]1[164]F6:F2[178]F1[170]F5:[129]F[178]F1[164]F2:[151]F,160:F3[178]F[170]54272:[151]F3,C
  62. 1040 [130]F:F1[178]F1[170]40:[130]F4:[142]
  63. 1050 C[178]5:[141]1230:[153]"CONTPORT. ";C$(6);"CONTBUTTE";
  64. 1060 [153][163]21)"CONTFARGO ";C$(6);"CONTG. BAY":[153]"";C$(1);"STOP (null)TANTANTANTANRIGHT$";
  65. 1070 [153][163]13)C$(3);[163]24)C$(4)
  66. 1080 [153]C$(1);"STOP (null)";ID$(1);"'S(null)  ";C$(4);[163]27)C$(3)
  67. 1090 [153]C$(1);"STOP (null)BANK(null)":[153]C$(1);"STOP (null)ROLL(null)"
  68. 1100 [153]C$(1);"STOP (null) IS (null)CONTDENVER";C$(6);C$(6);"CONTOMAHA"
  69. 1110 [153]C$(1);"STOP (null)    (null)":[153]C$(2);"STOPMID$TANTANTANTAN(null)";[163]37)C$(2)
  70. 1120 [153]" SAN";[163]34)"CHI.":[153]"FRAN.":[153]C$(2);"STOP(null)TANTANTANTANRIGHT$";
  71. 1130 [153][163]37)C$(2):[153]C$(1);"STOP (null)";ID$(2);"'S(null)":[153]C$(1);
  72. 1140 [153]"STOP (null)BANK(null)CONTALBQUE";C$(6);C$(6);"CONTTULSA
  73. 1150 PRINTC$(1);"[144] [221]ROLL[221]":PRINTC$(1);"[144] [221] IS [221]
  74. 1160 [153]C$(1);"STOP (null)    (null)  ";C$(4);[163]27)C$(4):[153]C$(1);
  75. 1170 [153]"STOP MID$TANTANTANTAN(null)";[163]13)C$(3);[163]25)C$(3):[153]"CONT L.A.";
  76. 1180 [153][163]12)"EL PASOSTOP CONTHOUSTON";[163]34)"MEMP.
  77. 1190 PRINTTAB(6)C$(6);TAB(27)C$(6);"";:FORF=1TO4:PRINT"":NEXT:GOTO1210
  78. 1200 PRINT"[145][145]":FORF=1TOF1:PRINTTAB(F2)C$(1):NEXT:RETURN
  79. 1210 F1=8:F2=9:GOSUB1200:PRINT"":F1=6:F2=38:GOSUB1200
  80. 1220 F2=30:F1=8:GOSUB1200:F1=6:F2=38:GOSUB1200:RETURN
  81. 1230 F1=1354:F5=19:F6=8:GOSUB1030:RETURN
  82. 1240 PRINT"";TAB(10);:RETURN
  83. 1250 F1=1434:F5=19:F6=6:GOSUB1030:RETURN
  84. 1260 FORX=1TO10:GETY$:NEXT:RETURN
  85. 1270 Z=ASC(Z$)-64:IFZ<1ORZ>20ORZ=9ORZ=10ORZ=11ORZ=14ORZ=17ORZ=18THENA=1:RETURN
  86. 1280 IFZ>8THENZ=Z-3:IFZ>10THENZ=Z-1:IFZ>12THENZ=Z-2
  87. 1290 RETURN
  88. 1600 GOSUB1240:PRINT"  INVALID SECTION.":PRINTTAB(12)"SELECT DIFFERENT
  89. 1610 [153][163]12)"TRACK SECTION":[141]1750
  90. 1620 [139]ZR[178][171]1[167]ZR[178]0:[141]1250:[141]1240:[137]2200
  91. 1630 [141]1250:[141]1240:[137]2430
  92. 1650 [141]1250:[141]1240:[153]" TRACK CAN AND MUST
  93. 1660 PRINTTAB(11)"BE REMOVED.":GOSUB1750:RETURN
  94. 1700 GOSUB1250:GOSUB1240:PRINT"YOUR BANKROLL IS NOT
  95. 1710 [153][163]10)"LARGE ENOUGH TO BUY":[153][163]10)"THIS DEED OF LAND.
  96. 1720 GOSUB1750:GOTO210
  97. 1750 GOSUB1240:PRINT"":PRINTTAB(17)"[213][192][192][192][192][192][201]
  98. 1760 [153][163]10)" PRESS (null)SHIFT(null) KEY  ":[153][163]17)"MID$TANTANTANTANTAN(null)
  99. 1770 WAIT653,1:RETURN
  100. 1800 GOSUB1240:PRINT"THE BALANCE OF YOUR":PRINTTAB(10)"BANKROLL IS $";M(ID)
  101. 1810 PRINTTAB(10)"YOU MUST SELL LAND":GOSUB1750:FORX=1TO14
  102. 1820 IFD(X,ID)>0THENX=14:Y=1
  103. 1830 NEXTX:IFY=1THENY=0:GOTO1850
  104. 1840 GOTO1950
  105. 1850 GOSUB1250:GOSUB1240:PRINT"LAND SELLS FOR $5000
  106. 1855 [153][163]10)"PER DEED.  ENTER 1ST":[153][163]10)"LETTER OF CITY OF
  107. 1860 GOSUB1260:PRINTTAB(10)"LAND TO BE SOLD:";
  108. 1865 GETZ$:IFZ$=""THEN1865
  109. 1870 GOSUB1270:IFZ=1THENA=0:GOTO1865
  110. 1875 PRINT" ";Z$:IFD(Z,ID)=0THEN1900
  111. 1880 D(Z,ID)=D(Z,ID)-1:M(ID)=M(ID)+5:ID=ABS(ID-3):D(Z,ID)=D(Z,ID)+1
  112. 1885 M(ID)=M(ID)-5:IFM(ID)<=0THENM(ID)=0
  113. 1890 ID=ABS(ID-3):GOSUB3000:RETURN
  114. 1900 GOSUB1250:GOSUB1240:PRINT"YOU DO NOT OWN ANY
  115. 1910 [153][163]10)"";PR$(Z);" LAND.":[141]1750:[137]1850
  116. 1950 [141]1250:[141]1240:[153]"AS YOUR BANKROLL
  117. 1960 PRINTTAB(10)"BALANCE IS $";M(ID);" AND
  118. 1970 [153][163]10)"YOU OWN NO PROPERTY":ID[178][182](ID[178]3)
  119. 1980 [153][163]20)"(null)TANTANTANTANTANTANTANTANRIGHT$":[153][163]10)"GAME OVER (null)";ID$(ID);" WINS!(null)
  120. 1990 PRINTTAB(20)"[202][192][192][192][192][192][192][192][192][203]":END
  121. 2150 C=2:GOSUB1230:PRINT"":GOSUB2950:PRINTTAB(22)"INDIAN
  122. 2160 [153][163]22)"ATTACK":[153][163]10)"1 TRACK SECTION MUST
  123. 2170 PRINTTAB(10)"BE REMOVED FROM ANY":PRINTTAB(10)"UNCOMPLETED SECTION.
  124. 2180 [141]1750:[141]1250:[141]1240
  125. 2200 [153]" ENTER 1ST LETTER OF":[153][163]10)"CITY OF STARTING
  126. 2205 PRINTTAB(10)"POINT:":PRINTTAB(15)"[213][192][201]IF NOT ABLE
  127. 2210 [153][163]10)"ENTER(null)\(null)TO REMOVE":[141]1260:[153][163]15)"MID$TAN(null)TRACK.
  128. 2215 GETZ$:IFZ$=""THEN2215
  129. 2220 IFZ$="\"THEN2235
  130. 2225 GOSUB1270:IFA=1THENA=0:GOTO2215
  131. 2230 X$=Z$:GOSUB1250:GOSUB1240:GOTO2250
  132. 2235 FORX=1TO16:IFR(X,0)>0ANDR(X,0)<9THENCH=1:X=16:GOSUB1650
  133. 2240 NEXTX:IFCH=1THENCH=0:GOSUB1250:GOSUB1240:GOTO2200
  134. 2245 GOTO210
  135. 2250 PRINT"ENTER 1ST LETTER OF":PRINTTAB(10)"CITY OF ENDING
  136. 2260 [141]1260:[153][163]10)"POINT: ";
  137. 2270 [161]Z$:[139]Z$[178]""[167]2270
  138. 2280 [141]1270:[139]A[178]1[167]A[178]0:[137]2270
  139. 2290 [153]Z$:Y$[178]Z$:ZR[178][171]1:RR[178]0:[137]3200
  140. 2400 Z1[178][181]([187](1)[172]10)[170]1:C[178]12:[141]1230:[153]"PRINT#":[141]2950
  141. 2405 [153][163]23)"PRINT#BUILD":[153][163]23)"TRACK":[153][163]11)"CONTRACT TO BUILD
  142. 2410 PRINTTAB(11)"TRACK COST$";Z1*1000:GOSUB1750
  143. 2415 IFM(ID)>=Z1THENGOTO2425
  144. 2420 GOSUB1250:GOSUB1800:GOSUB1250:GOSUB1240:GOTO2405
  145. 2425 M(ID)=M(ID)-Z1:GOSUB1250:GOSUB1240
  146. 2430 PRINT"ENTER 1ST LETTER OF":PRINTTAB(10)"CITY OF STARTING
  147. 2435 [141]1260:[153][163]10)"POINT: ";
  148. 2440 [161]Z$:[139]Z$[178]""[167]2440
  149. 2445 A[178]0:[141]1270:[139]A[178]1[167]A[178]0:[137]2440
  150. 2450 [153]Z$:X$[178]Z$:[153][163]10)"ENTER 1ST LETTER OF
  151. 2455 PRINTTAB(10)"CITY OF ENDING":GOSUB1260:PRINTTAB(10)"POINT: ";
  152. 2460 GETZ$:IFZ$=""THEN2460
  153. 2465 A=0:GOSUB1270:IFA=1THENA=0:GOTO2460
  154. 2470 PRINTZ$:Y$=Z$:RR=1:GOTO3200
  155. 2600 C=5:PRINT"";:GOSUB1230:GOSUB2950:PRINTTAB(23)"BONUS
  156. 2610 [153][163]10)"COLLECT PERFORMANCE":[153][163]10)"BONUS OF $10,000.
  157. 2620 M(ID)=M(ID)+10:GOSUB1750:GOTO210
  158. 2650 C=8:PRINT"[129]";:GOSUB1230:GOSUB2950:PRINTTAB(23)"LABOR
  159. 2660 [153][163]22)"DISPUTE":[153][163]10)"PAY $5000 BRIBE TO
  160. 2670 PRINTTAB(10)"UNION TO END DISPUTE":GOSUB1750
  161. 2680 IFM(ID)<5THENGOSUB1250:GOSUB1800:GOTO2650
  162. 2690 M(ID)=M(ID)-5:GOTO210
  163. 2700 C=8:PRINT"[129]";:GOSUB1230:GOSUB2950:PRINTTAB(23)"TRAIN
  164. 2710 [153][163]22)"ROBBERY":F[178][181]([187](1)[172]10)[170]1:[139]F[177][178]M(ID)[167]F[178]M(ID)
  165. 2720 [153][163]12)"$";F[172]1000;"TAKEN BY":[153][163]12)"TRAIN ROBBERS.
  166. 2730 M(ID)=M(ID)-F:GOSUB1750:GOTO210
  167. 2750 C=6:PRINT"";:GOSUB1230:GOSUB2950:PRINTTAB(21)"PROPERTY
  168. 2760 [153][163]19)"TAX PAYMENT":[153][163]10)"TAX RATE:  $1000 FOR
  169. 2770 PRINTTAB(10)"EACH PROPERTY OWNED.":Y=0:FORX=1TO14:Y=Y+D(X,ID):NEXT
  170. 2780 GOSUB1750:IFY>M(ID)THENGOSUB1250:GOSUB1800:GOTO2750
  171. 2790 M(ID)=M(ID)-Y:GOTO210
  172. 2800 C=4:PRINT"[156]";:GOSUB1230:GOSUB2950:PRINTTAB(24)"ON
  173. 2810 [153][163]21)"VACATION":[153][163]14)"(LOSE TURN)
  174. 2820 GOSUB1750:GOTO210
  175. 2850 C=5:PRINT"";:GOSUB1230:GOSUB2950:PRINTTAB(21)"RENT DAY
  176. 2860 [153][163]10)"COLLECT $1000 FROM":[153][163]10)"BANK FOR EACH LAND
  177. 2870 PRINTTAB(10)"DEED OWNED.":Y=0:FORX=1TO14:Y=Y+D(X,ID):NEXT
  178. 2880 M(ID)=M(ID)+Y:GOSUB1750:IFJF=1THENJF=0:RETURN
  179. 2890 GOTO210
  180. 2900 C=1:PRINT"[144]";:GOSUB1230:GOSUB1240:PRINTID$(ID);"'S TURN:";TAB(22)"ROADBED
  181. 2910 [153][163]22)"SURVEY":[153][163]11)"COLLECT $5000 FROM
  182. 2920 PRINTTAB(11)"OPPONENT AS THEIR":PRINTTAB(11)"SHARE OF COST":GOSUB1750
  183. 2930 ID=ABS(ID-3):IFM(ID)<5THENGOSUB1230:GOSUB2950:GOSUB1800:ID=ABS(ID-3):GOTO2900
  184. 2940 M(ID)=M(ID)-5:ID=ABS(ID-3):M(ID)=M(ID)+5:GOTO210
  185. 2950 GOSUB1240:PRINT"";ID$(ID);"'S TURN:";:RETURN
  186. 3000 PRINT"[154] ";ID$(1);D(12,1);TAB(13)ID$(1);D(2,1);TAB(22)ID$(1);
  187. 3005 PRINTD(6,1);TAB(34)ID$(1);D(7,1)
  188. 3010 PRINT" ";ID$(2);D(12,2);TAB(13)ID$(2);D(2,2);TAB(22)ID$(2);
  189. 3015 PRINTD(6,2);TAB(34)ID$(2);D(7,2):PRINT"";TAB(8)ID$(1);D(4,1);
  190. 3020 PRINTTAB(28)ID$(1);D(11,1):PRINT"";TAB(8)ID$(2);D(4,2);TAB(28)ID$(2);D(11,2)
  191. 3025 M(1)=INT(M(1)):IFM(1)>=1000THENM$(1)=RIGHT$(STR$(M(1)),4):GOTO3035
  192. 3030 M$(1)=RIGHT$(("  "+STR$(M(1))),3):M$(1)="$"+M$(1)
  193. 3035 PRINT"[144]";TAB(3)M$(1):PRINT" ";ID$(1);D(13,1);TAB(34)ID$(1);
  194. 3040 PRINTD(3,1):PRINT" ";ID$(2);D(13,2);TAB(34)ID$(2)D(3,2)
  195. 3045 PRINT"[154]";TAB(8)ID$(1);D(1,1);TAB(28)ID$(1);D(14,1)
  196. 3050 PRINT"";TAB(8)ID$(2);D(1,2);TAB(28)ID$(2);D(14,2)
  197. 3055 M(2)=INT(M(2)):IFM(2)>=1000THENM$(2)=RIGHT$(STR$(M(2)),4):GOTO3065
  198. 3060 M$(2)=RIGHT$(("  "+STR$(M(2))),3):M$(2)="$"+M$(2)
  199. 3065 PRINT"[144]";TAB(3)M$(2)::PRINT"[154] ";ID$(1);D(9,1);TAB(13);
  200. 3070 PRINTID$(1);D(5,1);TAB(21)ID$(1);D(8,1);TAB(34)ID$(1);D(10,1)
  201. 3080 PRINT" ";ID$(2);D(9,2);TAB(13)ID$(2);D(5,2);TAB(21)ID$(2);
  202. 3090 PRINTD(8,2);TAB(34)ID$(2);D(10,2);"":RETURN
  203. 3100 IFS>=112THEN2600
  204. 3105 S=S+1:C=9:GOSUB1230:PRINT"[149]";:GOSUB2950:PRINTTAB(23)"LAND
  205. 3110 [153][163]22)"OPTION":[153][163]10)"1 DEED OF ";P$(S,0)
  206. 3115 [153][163]10)"LAND AVAILABLE FOR":[153][163]10)"$";P$(S,1);".  DO YOU WISH
  207. 3120 PRINTTAB(18)"[213][192][201]    [213][192][201]":PRINTTAB(10)"TO BUY? [221]Y[221] OR [221]N[221]
  208. 3125 [141]1260:[153][163]18)"MID$TAN(null)    MID$TAN(null)
  209. 3130 GETX$:IFX$=""THEN3130
  210. 3135 IFX$="N"THEN210
  211. 3140 IFX$<>"Y"THEN3130
  212. 3145 X=VAL(P$(S,1))/1000:IFM(ID)<XTHENGOTO1700
  213. 3150 M(ID)=M(ID)-X:Y=VAL(P$(S,2)):D(Y,ID)=D(Y,ID)+1:GOTO210
  214. 3200 IF(X$="C"ORY$="C")AND(X$="G"ORY$="G")THENR=1:R(1,1)=3:R(1,2)=7:GOTO3285
  215. 3205 IF(X$="F"ORY$="F")AND(X$="G"ORY$="G")THENR=2:R(2,1)=6:R(2,2)=7:GOTO3285
  216. 3210 IF(X$="F"ORY$="F")AND(X$="O"ORY$="O")THENR=3:R(3,1)=6:R(3,2)=11:GOTO3285
  217. 3215 IF(X$="D"ORY$="D")AND(X$="O"ORY$="O")THENR=8:R(8,1)=4:R(8,2)=11:GOTO3285
  218. 3220 IF(X$="T"ORY$="T")AND(X$="O"ORY$="O")THENR=7:R(7,1)=14:R(7,2)=11:GOTO3285
  219. 3225 IF(X$="C"ORY$="C")AND(X$="M"ORY$="M")THENR=4:R(4,1)=3:R(4,2)=10:GOTO3285
  220. 3230 IF(X$="H"ORY$="H")AND(X$="M"ORY$="M")THENR=5:R(5,1)=8:R(5,2)=10:GOTO3285
  221. 3235 IF(X$="H"ORY$="H")AND(X$="T"ORY$="T")THENR=6:R(6,1)=8:R(6,2)=14:GOTO3285
  222. 3240 IF(X$="A"ORY$="A")AND(X$="T"ORY$="T")THENR=9:R(9,1)=1:R(9,2)=14:GOTO3285
  223. 3245 IF(X$="A"ORY$="A")AND(X$="E"ORY$="E")THENR=10:R(10,1)=1:R(10,2)=5:GOTO3285
  224. 3250 IF(X$="A"ORY$="A")AND(X$="D"ORY$="D")THENR=13:R(13,1)=1:R(13,2)=4:GOTO3285
  225. 3255 IF(X$="B"ORY$="B")AND(X$="D"ORY$="D")THENR=14:R(14,1)=2:R(14,2)=4:GOTO3285
  226. 3260 IF(X$="B"ORY$="B")AND(X$="P"ORY$="P")THENR=15:R(15,1)=2:R(15,2)=12:GOTO3285
  227. 3265 IF(X$="S"ORY$="S")AND(X$="P"ORY$="P")THENR=16:R(16,1)=13:R(16,2)=12:GOTO3285
  228. 3270 IF(X$="S"ORY$="S")AND(X$="L"ORY$="L")THENR=12:R(12,1)=13:R(12,2)=9:GOTO3285
  229. 3275 IF(X$="E"ORY$="E")AND(X$="L"ORY$="L")THENR=11:R(11,1)=5:R(11,2)=9:GOTO3285
  230. 3280 GOSUB1250:GOTO1600
  231. 3285 IFR(R,0)=9THEN3280
  232. 3290 IFR(R,0)=0ANDZR=-1THEN3280
  233. 3295 IFR(R,0)=0THENGOSUB1250:GOSUB950
  234. 3300 R(R,0)=R(R,0)+RR:A=54272:T=R
  235. 3305 RESTORE:FORG=1TO62:READG$:NEXTG
  236. 3310 ONTGOTO3400,3430,3460,3490,3520,3545,3580,3620
  237. 3320 T=T-8:ONTGOTO3680,3735,3770,3800,3830,3865,3900,3930
  238. 3330 IFZR=-1THENZR=0:R(R,0)=R(R,0)-1:RR=160:C=13:GOTO3340
  239. 3335 RR=219:C=0
  240. 3340 FORX=1TO2:POKET,RR:U=T+A:POKEU,O:T=T+T1:POKET,RR:U=T+A:POKEU,C
  241. 3345 T=T+T2:NEXTX:RETURN
  242. 3350 IFZR=-1THENZR=0:R(R,0)=R(R,0)-1:FORX=1TO4:RR(X)=160:NEXTX:GOTO3360
  243. 3355 FORX=1TO4:C(X)=0:NEXTX
  244. 3360 POKET,RR(1):U=T+A:POKEU,C(1):T=T+T1:POKET,RR(2):U=T+A:POKEU,C(2):T=T+T2
  245. 3365 POKET,RR(3):U=T+A:POKEU,C(3):T=T+T1:POKET,RR(4):U=T+A:POKEU,C(4):RETURN
  246. 3370 IFZR=-1THENZR=0:R(R,0)=R(R,0)-1:RR=160:C=0:C(1)=13:GOTO3380
  247. 3375 RR=219:C=0:C(1)=0
  248. 3380 POKET,RR:U=T+A:POKEU,C:T=T+T1:POKET,RR:U=T+A:POKEU,C:T=T+T2
  249. 3385 POKET,RR:U=T+A:POKEU,C(1):T=T+T1:POKET,RR:U=T+A:POKEU,C(1):RETURN
  250. 3400 IFR(1,0)=1THENT=1341:T1=1:T2=39:GOSUB3330:GOTO210
  251. 3410 IFR(1,0)=2THENT=1261:T1=1:T2=39:GOSUB3330:GOTO210
  252. 3420 R(1,0)=9:T=1181:T1=1:T2=39:GOSUB3335:GOTO900
  253. 3430 IFR(2,0)=1THENT=1095:T1=1:T2=-41:GOSUB3370:GOTO210
  254. 3440 IFR(2,0)=2THENT=1093:T1=1:T2=-41:GOSUB3370:GOTO210
  255. 3450 R(2,0)=9:T=1091:T1=1:T2=-41:GOSUB3375:GOTO900
  256. 3460 IFR(3,0)=1THENT=1168:T1=1:T2=39:FORX=1TO4:READRR(X),C(X):NEXT:GOSUB3350:GOTO210
  257. 3465 FORG=1TO8:READG$:NEXTG
  258. 3470 IFR(3,0)=2THENT=1170:T1=1:T2=39:FORX=1TO4:READRR(X),C(X):NEXT:GOSUB3350:GOTO210
  259. 3475 FORG=1TO8:READG$:NEXTG
  260. 3480 R(3,0)=9:T=1172:T1=1:T2=39:FORX=1TO4:READRR(X),C(X):NEXT:GOSUB3350:GOTO900
  261. 3490 IFR(4,0)=1THENT=1661:T1=1:T2=39:GOSUB3330:GOTO210
  262. 3500 IFR(4,0)=2THENT=1741:T1=1:T2=39:GOSUB3330:GOTO210
  263. 3510 R(4,0)=9:T=1821:T1=1:T2=39:GOSUB3335:GOTO900
  264. 3520 IFR(5,0)=1THENT=1935:T1=1:T2=39:GOSUB3370:GOTO210
  265. 3530 IFR(5,0)=2THENT=1933:T1=1:T2=39:GOSUB3370:GOTO210
  266. 3540 R(5,0)=9:T=1931:T1=1:T2=39:GOSUB3375:GOTO900
  267. 3545 FORG=1TO24:READG$:NEXTG
  268. 3550 IFR(6,0)=1THENT=1809:T1=1:T2=39:FORX=1TO4:READRR(X),C(X):NEXT:GOSUB3350:GOTO210
  269. 3555 FORG=1TO8:READG$:NEXTG
  270. 3560 IFR(6,0)=2THENT=1811:T1=1:T2=39:FORX=1TO4:READRR(X),C(X):NEXT:GOSUB3350:GOTO210
  271. 3565 FORG=1TO8:READG$:NEXTG
  272. 3570 R(6,0)=9:T=1813:T1=1:T2=39:FORX=1TO4:READRR(X),C(X):NEXT:GOSUB3350:GOTO900
  273. 3580 IFR(7,0)=1THENT=1375:T1=-1:T2=41:GOSUB3330:GOTO210
  274. 3590 IFR(7,0)=2THENT=1455:T1=-1:T2=41:GOSUB3330:GOTO210
  275. 3600 IFR(7,0)=3THENT=1535:T1=-1:T2=41:GOSUB3330:GOTO210
  276. 3610 R(7,0)=9:T=1615:T1=-1:T2=41:GOSUB3335:GOTO900
  277. 3620 IFR(8,0)=1THENT=1288:T1=1:T2=39:GOSUB3370:GOTO210
  278. 3630 IFR(8,0)=2THENT=1286:T1=1:T2=39:GOSUB3370:GOTO210
  279. 3640 IFR(8,0)=3THENT=1284:T1=1:T2=39:GOSUB3370:GOTO210
  280. 3650 IFR(8,0)=4THENT=1282:T1=1:T2=39:GOSUB3370:GOTO210
  281. 3660 IFR(8,0)=5THENT=1280:T1=1:T2=39:GOSUB3370:GOTO210
  282. 3670 R(8,0)=9:T=1278:T1=1:T2=39:GOSUB3375:GOTO900
  283. 3680 IFR(9,0)=1THENT=1728:T1=1:T2=-41:GOSUB3370:GOTO210
  284. 3690 IFR(9,0)=2THENT=1726:T1=1:T2=-41:GOSUB3370:GOTO210
  285. 3700 IFR(9,0)=3THENT=1724:T1=1:T2=-41:GOSUB3370:GOTO210
  286. 3710 IFR(9,0)=4THENT=1722:T1=1:T2=-41:GOSUB3370:GOTO210
  287. 3720 IFR(9,0)=5THENT=1720:T1=1:T2=-41:GOSUB3370:GOTO210
  288. 3730 R(9,0)=9:T=1718:T1=1:T2=-41:GOSUB3375:GOTO900
  289. 3735 FORG=1TO48:READG$:NEXTG
  290. 3740 IFR(10,0)=1THENT=1794:T1=1:T2=39:FORX=1TO4:READRR(X),C(X):NEXT:GOSUB3350:GOTO210
  291. 3745 FORG=1TO8:READG$:NEXTG
  292. 3750 IFR(10,0)=2THENT=1796:T1=1:T2=39:FORX=1TO4:READRR(X),C(X):NEXT:GOSUB3350:GOTO210
  293. 3755 FORG=1TO8:READG$:NEXTG
  294. 3760 R(10,0)=9:T=1798:T1=1:T2=39:FORX=1TO4:READRR(X),C(X):NEXT:GOSUB3350:GOTO900
  295. 3770 IFR(11,0)=1THENT=1914:T1=1:T2=39:GOSUB3370:GOTO210
  296. 3780 IFR(11,0)=2THENT=1912:T1=1:T2=39:GOSUB3370:GOTO210
  297. 3790 R(11,0)=9:T=1910:T1=1:T2=39:GOSUB3375:GOTO900
  298. 3800 IFR(12,0)=1THENT=1785:T1=-1:T2=41:GOSUB3330:GOTO210
  299. 3810 IFR(12,0)=2THENT=1705:T1=-1:T2=41:GOSUB3330:GOTO210
  300. 3820 R(12,0)=9:T=1625:T1=-1:T2=41:GOSUB3335:GOTO900
  301. 3830 IFR(13,0)=1THENT=1352:T1=1:T2=39:GOSUB3330:GOTO210
  302. 3840 IFR(13,0)=2THENT=1432:T1=1:T2=39:GOSUB3330:GOTO210
  303. 3850 IFR(13,0)=3THENT=1512:T1=1:T2=39:GOSUB3330:GOTO210
  304. 3860 R(13,0)=9:T=1592:T1=1:T2=39:GOSUB3335:GOTO900
  305. 3865 FORG=1TO72:READG$:NEXTG
  306. 3870 IFR(14,0)=1THENT=1154:T1=1:T2=39:FORX=1TO4:READRR(X),C(X):NEXT:GOSUB3350:GOTO210
  307. 3875 FORG=1TO8:READG$:NEXTG
  308. 3880 IFR(14,0)=2THENT=1156:T1=1:T2=39:FORX=1TO4:READRR(X),C(X):NEXT:GOSUB3350:GOTO210
  309. 3885 FORG=1TO8:READG$:NEXTG
  310. 3890 R(14,0)=9:T=1158:T1=1:T2=39:FORX=1TO4:READRR(X),C(X):NEXT:GOSUB3350:GOTO900
  311. 3900 IFR(15,0)=1THENT=1074:T1=1:T2=-41:GOSUB3370:GOTO210
  312. 3910 IFR(15,0)=2THENT=1072:T1=1:T2=-41:GOSUB3370:GOTO210
  313. 3920 R(15,0)=9:T=1070:T1=1:T2=-41:GOSUB3375:GOTO900
  314. 3930 IFR(16,0)=1THENT=1145:T1=-1:T2=41:GOSUB3330:GOTO210
  315. 3940 IFR(16,0)=2THENT=1225:T1=-1:T2=41:GOSUB3330:GOTO210
  316. 3950 R(16,0)=9:T=1305:T1=-1:T2=41:GOSUB3335:GOTO900
  317. 4000 PRINT"":FORR=1TO20:PRINT:NEXT:PRINTTAB(19)"[213][192][201]  [213][192][201]
  318. 4010 [153][163]13)"PRESS (null)Y(null)OR(null)N(null)":[153][163]19)"MID$TAN(null)  MID$TAN(null)":[142]
  319. 4050 [153]"LOAD";[163]14)"WELCOME TO
  320. 4060 PRINTTAB(9)"[162][162][162][187]";TAB(21)"[172]";:FORF=23TO38:PRINT"[162]";:NEXT:PRINT"[187]
  321. 4070 [153]"   (null) WAITSTEP   GETNEWNEWWAITGET";[163]23)" *NEWRND*NEWRND*NEWRND*NEWRND "
  322. 4080 [153][163]4)" ";[163]9)"GETWAIT  GET";[163]23)" WAITGET GETWAITGET GETWAITGET GETWAITGET GET "
  323. 4090 [153]"  *NEW WAITNEWRND*RNDGETWAITNEWNEWGET*NEWNEWNEWNEWNEWNEWRND   LOGWAITNEWCOSLOGWAITNEWCOSLOGWAITNEWCOSLOGWAITNEWCOS "
  324. 4100 [153]"  GET          GET      WAITGET                "
  325. 4110 [153]"  GET   THE    GET IRON WAITGET       HORSE    "
  326. 4120 [153]" STEP           GET      WAITGETGET                WAITGET
  327. 4130 PRINT"[169]  [146][209][209]    [209][192][209][188][162][146][209][209]  [209][209][162][162][146] [209][209]          [209][209] [162]
  328. 4140 [153][163]10)"BY:  JAMES K. FOSTER":[153][163]15)"BOX 185
  329. 4150 PRINTTAB(15)"BELLA COOLA, B.C.":PRINTTAB(15)"V0T 1C0
  330. 4160 [153][163]7)"WOULD YOU LIKE INSTRUCTIONS?":[141]4000
  331. 4170 [161]Z$:[139]Z$[178]""[167]4170
  332. 4180 [139] Z$[179][177]"Y"[167] [142]
  333. 4190 [153]"LOADTHE IRON HORSE IS A TWO PLAYER, BOARD
  334. 4200 PRINT"STYLE, STRATEGY GAME FOR THE C-64.
  335. 4210 [153]"JOURNEY BACK IN TIME TO THE DAYS WHEN
  336. 4220 PRINT"SELDOM WAS HEARD, A DISCOURAGING WORD,
  337. 4230 [153]"AND WHERE THE BUFFALO ROAMED.  THE TIME
  338. 4240 PRINT"IS THE LATE 1800'S AND THE PLACE IS THE
  339. 4250 [153]"AMERICAN WEST FROM CHICAGO TO
  340. 4260 PRINT"SAN FRANCISCO.  PUT ON YOUR TOP HAT AND
  341. 4270 [153]"YOUR FROCK COAT AND TRY TO MAKE YOUR
  342. 4280 PRINT"FORTUNE.":PRINT"THE OBJECT OF THE IRON HORSE IS TO
  343. 4290 [153]"AMASS A LARGER AMOUNT OF MONEY THAN
  344. 4300 PRINT"YOUR OPPONENT, WHILE BUILDING THE FIRST
  345. 4310 [153]"RAILROAD FROM CHICAGO TO SAN FRANCISCO.
  346. 4320 PRINT"EACH PLAYER STARTS THE GAME WITH
  347. 4330 [153]"$150,000.  THE SCOREBOARD ONLY DIPLAYS
  348. 4340 PRINT"YOUR BANKROLL TO THE NEAREST $1000.
  349. 4350 [153][163]12)"MORE INFORMATION?":[141]4000
  350. 4360 [161]Z$:[139]Z$[178]""[167]4360
  351. 4370 [139]Z$[179][177]"Y"[167][142]
  352. 4380 [153]"LOADAS THE GAME PROGRESSES, MONEY IS MADE
  353. 4390 PRINT"FROM PERFORMANCE BONUSES AND FROM LAND
  354. 4400 [153]"SPECULATION.  MONEY IS LOST OR SPENT
  355. 4410 PRINT"ON BRIBES, LAYING RAILWAY TRACK,
  356. 4420 [153]"ROBBERY, AND OTHER SURPRISES.
  357. 4430 PRINT"THE GAME BOARD IS LAYED OUT WITH 14
  358. 4440 [153]"CITIES:  ALBUQUERQUE (ALBQUE), BUTTE,
  359. 4450 PRINT"CHICAGO (CHI.), DENVER, EL PASO, FARGO
  360. 4460 [153]"GREEN BAY (G.BAY),HOUSTON, LOS ANGELES
  361. 4470 PRINT"(L.A.), MEMPHIS (MEMP.), OMAHA,
  362. 4480 [153]"PORTLAND (PORT.), SAN FRANCISCO (SAN
  363. 4490 PRINT"FRAN), AND TULSA.  TRACK CAN BE LAYED
  364. 4500 [153]"BETWEEN ANY TWO CITIES CONNECTED WITH
  365. 4510 PRINT"A GREEN PATH.  NOT ALL CITIES CONNECT
  366. 4520 [153]"TO EACH OTHER, AND THERE ARE SEVERAL
  367. 4530 PRINT"POSSIBLE ROUTES TO FOLLOW.":PRINTTAB(12)"MORE INFORMATION?":GOSUB4000
  368. 4540 GETZ$:IFZ$=""THEN4540
  369. 4550 IFZ$<>"Y"THEN RETURN
  370. 4560 PRINT"[147]YOU CAN LAY RAILWAY TRACK ALONG ANY
  371. 4570 [153]"GREEN PATH AND IT IS NOT NECESSARY TO
  372. 4580 PRINT"COMPLETE A SECTION BEFORE STARTING
  373. 4590 [153]"BETWEEN OTHER CITIES.  THERE IS A BONUS
  374. 4600 PRINT"FOR LAYING THE FIRST TRACK SECTION
  375. 4610 [153]"BETWEEN TWO CITIES.":[153]"YOU ARE GIVEN THE OPTION TO PURCHASE
  376. 4620 PRINT"DEEDS OF LAND A VARIOUS TIMES.  PRICES
  377. 4630 [153]"RANGE FROM $1000 TO $8000.  WHEN TWO
  378. 4640 PRINT"CITIES ARE CONNECTED, IT IS TIME TO
  379. 4650 [153]"COLLECT LAND SPECULATION PAYOFF.  EACH
  380. 4660 PRINT"EACH PLAYER RECEIVES FOR BOTH CITIES
  381. 4670 [153]"CONNECTED, ON A PER CITY BASIS:
  382. 4680 PRINTTAB(3)"1 DEED OWNED   -  $1000
  383. 4690 [153][163]3)"2 DEEDS OWNED  -  $2000 PER DEED
  384. 4700 PRINTTAB(3)"3 DEEDS OWNED  -  $9000 PER DEED
  385. 4710 [153][163]3)"4 DEEDS OWNED  - $16000 PER DEED
  386. 4720 PRINTTAB(3)"5+ DEEDS OWNED - $25000 PER DEED
  387. 4730 [153][163]12)"MORE INFORMATION?":[141]4000
  388. 4740 [161]Z$:[139]Z$[178]""[167]4740
  389. 4750 [139]Z$[179][177]"Y"[167] [142]
  390. 4760 [153]"LOADMAXIMUM SPECULATION PAYOUT IS $125000
  391. 4770 PRINT"PER CITY PER PLAYER.  THERE ARE 8 LAND
  392. 4780 [153]"DEEDS AVAILABLE FOR EACH OF THE 14
  393. 4790 PRINT"CITIES.":PRINT"IF YOU HAVE NOT MANAGED YOUR MONEY
  394. 4800 [153]"PROPERLY, OR IF YOU HAVE HAD A RUN OF
  395. 4810 PRINT"BAD LUCK, AND YOUR BANKROLL IS ZERO
  396. 4820 [153]"THEN YOU WILL HAVE TO SELL DEEDS
  397. 4830 PRINT"OF LAND TO RAISE THE REQUIRED CAPITOL.
  398. 4840 [153]"FOR EACH DEED OF LAND SOLD (YOUR
  399. 4850 PRINT"CHOICE), YOUR OPPONENT WILL PAY YOU
  400. 4860 [153]"$5000.  IF YOUR OPPONENT IS ALSO BROKE
  401. 4870 PRINT"THEN THE BANK WILL PAY YOU, BUT YOUR
  402. 4880 [153]"OPPONENT STILL RECEIVES THE LAND DEED.
  403. 4890 PRINTTAB(12)"MORE INFORMATION?":GOSUB4000
  404. 4900 GETZ$:IFZ$=""THEN4900
  405. 4910 IFZ$<>"Y"THEN RETURN
  406. 4920 PRINT"[147]DURING THE COURSE OF PLAY YOU WILL BE
  407. 4930 [153]"ATTACKED BY INDIANS, AND THIS CAN BE
  408. 4940 PRINT"BOTH A BLESSING AND A CURSE.  WHEN THE
  409. 4950 [153]"INDIANS ATTACK THEY DESTROY TRACK, BUT
  410. 4960 PRINT"YOU DETERMINE WHICH TRACK SECTION TO
  411. 4970 [153]"REMOVE.  TRACK CAN ONLY BE REMOVED FROM
  412. 4980 PRINT"SECTIONS UNDER CONSTRUCTION.  SECTIONS
  413. 4990 [153]"NOT STARTED OR COMPLETED ARE NOT
  414. 5000 PRINT"ELIGIBLE FOR AN INDIAN ATTACK.  IF
  415. 5010 [153]"TRACK IS REMOVED FROM A SECTION
  416. 5020 PRINT"CONTAINING ONLY ONE SECTION, THIS
  417. 5030 [153]"SECTION AGAIN BECOMES ELIGIBLE FOR THE
  418. 5040 PRINT"INITIAL TRACK BONUS.  THIS PLAY CAN BE
  419. 5050 [153]"USED TO SLOW DOWN YOUR OPPONENT FROM
  420. 5060 PRINT"COMPLETING A SECTION WHERE THEY HAVE
  421. 5070 [153]"THE ADVANTAGE IN LAND DEEDS OWNED.
  422. 5080 PRINT"WHILE THIS GAME IS SET UP TO BE PLAYED
  423. 5090 [153]"BY 2 PLAYERS, IT CAN BE PLAYED BY MORE
  424. 5100 PRINT"BY USING TEAMS. ARE YOU READY TO BEGIN?":GOSUB4000
  425. 5110 GETZ$:IFZ$=""THEN5110
  426. 5120 IFZ$="Y"THENRETURN
  427. 5130 END
  428. 6000 DATA1000,2000,3000,4000,5000,6000,7000,8000
  429. 6010 DATA1024,5,3,1036,5,3,1045,5,3,1057,5,3,1232,3,1,1252,3,1,1272,5,2,1290,5
  430. 6020 DATA2,1672,5,2,1690,5,2,1752,3,1,1772,3,1,1864,5,3,1876,6,3,1884,6,3,1897
  431. 6030 DATA5,3,1424,5,4,1457,5,4
  432. 6040 DATA219,13,202,13,202,0,219,0,219,13,219,13,219,0,219,13,219,0,201,0,201
  433. 6050 DATA13,219,13,213,0,219,0,219,13,213,13,219,13,219,13,219,13,219,0
  434. 6060 DATA203,13,219,13,219,0,203,0,219,13,202,13,202,0,219,0,219,13,219,13
  435. 6070 DATA219,0,219,13,219,0,201,0,201,13,219,13,213,0,219,0,219,13,213,13
  436. 6080 DATA219,0,219,13,219,13,219,13,203,13,219,13,219,0,203,0
  437.